Various users across the globe communicate or perform various activities on computer and device networks. Moreover, the users interact with each other through the networks, such as the Internet. Typically, the users use devices like personal computers to interact over the Internet. The users can interact from various Internet websites or social networking sites, for example, Facebook, Myspace, Hi5, and Orkut etc. Recently, the development in mobile devices such as cell phones, smartphones and PDAs, computers, laptops and the like has enabled them to be used for performing various activities on networks such as the Internet. Moreover, the mobile devices can be used for real-time interaction with other users on the network. The interaction or communication can be in the form of chatting, playing interactive online games, browsing, shopping, music, video, banking, business and the like.
The rapid pace of innovation in technology has generated various types of devices and platforms. Moreover, the number of devices is increasing rapidly. For example, there are various operating systems available for the devices such as Windows, Linux, Macintosh, and Symbian, etc. Moreover, a large number of J2ME platforms are available for the mobile devices such as cell phones. Furthermore, the mobile devices have a wide range of capabilities in terms of screen size, screen type, screen resolution, processor, and memory etc. The applications for these devices have to be developed based on their platforms. Therefore, each application has to be ported to other platforms. For example, in the case of computer games the programming languages typically used are JAVA, C#, C++, Action Script, and the like. Therefore, an application developed in Action Script programming language may have to be ported to another programming language when not supported by a device platform. Further, new applications are being continuously developed for different device platforms.
Generally, translating application code from a source computer programming language to target programming languages may require porting and managing system and program level assets. Examples of assets may include images, audio files, video files, or other media required by the application. Further, different target operating systems may have different run time environments or platforms. Therefore, different level or type of conversion or management of the assets may be required for the assets to perform efficiently in those platforms.
Moreover, the translation process may impact the quality of the assets. For example, an image in Bitmap (BMP) format may be converted to Joint Photographic Experts Group (JPEG) format as a standard or a default format. However, the quality of the image may be unnecessarily reduced in this process. Further, the compatibility of the target format with the target environment may not be determined. As a result, the application may not execute on the target platform.
Typically, the assets for the application code may be stored in directories or folders. The characteristics of the assets such as name, extension or address may change or get updated during the conversion. Therefore, the target code should refer to the updated characteristics of the assets. However, each asset may be referenced multiple times in the application code. Therefore, the translation process is required to syntactically analyze each asset reference in the application code separately and repeatedly. However, this process might be time consuming and less efficient.
In light of the above discussion, methods and systems are therefore desirable to manage assets during translation of programming code.